smart vectors